{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#Building a song recommender\n", "\n", "\n", "#Fire up GraphLab Create" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "A newer version of GraphLab Create (v1.7.1) is available! Your current version is v1.6.1.\n", "\n", "You can use pip to upgrade the graphlab-create package. For more information see https://dato.com/products/create/upgrade.\n" ] } ], "source": [ "import graphlab" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Load music data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO] This non-commercial license of GraphLab Create is assigned to danielbenitezr@yahoo.com and will expire on September 27, 2016. For commercial licensing options, visit https://dato.com/buy/.\n", "\n", "[INFO] Start server at: ipc:///tmp/graphlab_server-17778 - Server binary: /home/balrog/anaconda/lib/python2.7/site-packages/graphlab/unity_server - Server log: /tmp/graphlab_server_1450663444.log\n", "[INFO] GraphLab Server Version: 1.6.1\n" ] } ], "source": [ "song_data = graphlab.SFrame('song_data.gl/')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Explore data\n", "\n", "Music data shows how many times a user listened to a song, as well as the details of the song." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
user_id | \n", "song_id | \n", "listen_count | \n", "title | \n", "artist | \n", "
---|---|---|---|---|
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SOAKIMP12A8C130995 | \n", "1 | \n", "The Cove | \n", "Jack Johnson | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SOBBMDR12A8C13253B | \n", "2 | \n", "Entre Dos Aguas | \n", "Paco De Lucia | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SOBXHDL12A81C204C0 | \n", "1 | \n", "Stronger | \n", "Kanye West | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SOBYHAJ12A6701BF1D | \n", "1 | \n", "Constellations | \n", "Jack Johnson | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SODACBL12A8C13C273 | \n", "1 | \n", "Learn To Fly | \n", "Foo Fighters | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SODDNQT12A6D4F5F7E | \n", "5 | \n", "Apuesta Por El Rock 'N' Roll ... | \n",
" Héroes del Silencio | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SODXRTY12AB0180F3B | \n", "1 | \n", "Paper Gangsta | \n", "Lady GaGa | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SOFGUAY12AB017B0A8 | \n", "1 | \n", "Stacked Actors | \n", "Foo Fighters | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SOFRQTD12A81C233C0 | \n", "1 | \n", "Sehr kosmisch | \n", "Harmonia | \n", "
b80344d063b5ccb3212f76538 f3d9e43d87dca9e ... | \n",
" SOHQWYZ12A6D4FA701 | \n", "1 | \n", "Heaven's gonna burn your eyes ... | \n",
" Thievery Corporation feat. Emiliana Torrini ... | \n",
"
song | \n", "
---|
The Cove - Jack Johnson | \n", "
Entre Dos Aguas - Paco De Lucia ... | \n",
"
Stronger - Kanye West | \n", "
Constellations - Jack Johnson ... | \n",
"
Learn To Fly - Foo Fighters ... | \n",
"
Apuesta Por El Rock 'N' Roll - Héroes del ... | \n",
"
Paper Gangsta - Lady GaGa | \n", "
Stacked Actors - Foo Fighters ... | \n",
"
Sehr kosmisch - Harmonia | \n", "
Heaven's gonna burn your eyes - Thievery ... | \n",
"
user_id | \n", "song | \n", "score | \n", "rank | \n", "
---|---|---|---|
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Sehr kosmisch - Harmonia | \n", "4754.0 | \n", "1 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Undo - Björk | \n", "4227.0 | \n", "2 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" You're The One - Dwight Yoakam ... | \n",
" 3781.0 | \n", "3 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Dog Days Are Over (Radio Edit) - Florence + The ... | \n",
" 3633.0 | \n", "4 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Revelry - Kings Of Leon | \n", "3527.0 | \n", "5 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Horn Concerto No. 4 in E flat K495: II. Romance ... | \n",
" 3161.0 | \n", "6 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Secrets - OneRepublic | \n", "3148.0 | \n", "7 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Fireflies - Charttraxx Karaoke ... | \n",
" 2532.0 | \n", "8 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Tive Sim - Cartola | \n", "2521.0 | \n", "9 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Drop The World - Lil Wayne / Eminem ... | \n",
" 2053.0 | \n", "10 | \n", "
user_id | \n", "song | \n", "score | \n", "rank | \n", "
---|---|---|---|
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Sehr kosmisch - Harmonia | \n", "4754.0 | \n", "1 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Undo - Björk | \n", "4227.0 | \n", "2 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" You're The One - Dwight Yoakam ... | \n",
" 3781.0 | \n", "3 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Dog Days Are Over (Radio Edit) - Florence + The ... | \n",
" 3633.0 | \n", "4 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Revelry - Kings Of Leon | \n", "3527.0 | \n", "5 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Horn Concerto No. 4 in E flat K495: II. Romance ... | \n",
" 3161.0 | \n", "6 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Secrets - OneRepublic | \n", "3148.0 | \n", "7 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Hey_ Soul Sister - Train | \n", "2538.0 | \n", "8 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Fireflies - Charttraxx Karaoke ... | \n",
" 2532.0 | \n", "9 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Tive Sim - Cartola | \n", "2521.0 | \n", "10 | \n", "
user_id | \n", "song | \n", "score | \n", "rank | \n", "
---|---|---|---|
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Cuando Pase El Temblor - Soda Stereo ... | \n",
" 0.0194504525792 | \n", "1 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Fireflies - Charttraxx Karaoke ... | \n",
" 0.0144799375498 | \n", "2 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Love Is A Losing Game - Amy Winehouse ... | \n",
" 0.0142865986808 | \n", "3 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Marry Me - Train | \n", "0.0141366419788 | \n", "4 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Secrets - OneRepublic | \n", "0.0135995459939 | \n", "5 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" No Dejes Que... - Caifanes ... | \n",
" 0.0134191754754 | \n", "6 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Sehr kosmisch - Harmonia | \n", "0.013415562563 | \n", "7 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Y solo se me ocurre amarte (Unplugged) - ... | \n",
" 0.0133210385369 | \n", "8 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" Te Hacen Falta Vitaminas - Soda Stereo ... | \n",
" 0.0129302853556 | \n", "9 | \n", "
c66c10a9567f0d82ff31441a9 fd5063e5cd9dfe8 ... | \n",
" OMG - Usher featuring will.i.am ... | \n",
" 0.0127805199598 | \n", "10 | \n", "
user_id | \n", "song | \n", "score | \n", "rank | \n", "
---|---|---|---|
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Where The Boat Leaves From (Album) - Zac Brown ... | \n",
" 0.063530766032 | \n", "1 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Different Kind Of Fine (Album) - Zac Brown Band ... | \n",
" 0.0628011029296 | \n", "2 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Jolene (Album) - Zac Brown Band ... | \n",
" 0.0578682052943 | \n", "3 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Sic 'Em On A Chicken (Album) - Zac Brown Band ... | \n",
" 0.0551866929279 | \n", "4 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Who's Kissing You Tonight - Jason Aldean ... | \n",
" 0.0547525233792 | \n", "5 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Highway 20 Ride (Album) - Zac Brown Band ... | \n",
" 0.0398751780992 | \n", "6 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" What Country Is - Luke Bryan ... | \n",
" 0.0374908065185 | \n", "7 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Do I - Luke Bryan | \n", "0.0350614821658 | \n", "8 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" One Fine Wire - Colbie Caillat ... | \n",
" 0.03125 | \n", "9 | \n", "
02f015d32ac2cd1e52d26e3ec 36048711dd5711b ... | \n",
" Midnight Bottle - Colbie Caillat ... | \n",
" 0.030737704918 | \n", "10 | \n", "
song | \n", "similar | \n", "score | \n", "rank | \n", "
---|---|---|---|
With Or Without You - U2 | \n", "I Still Haven't Found What I'm Looking For ... | \n",
" 0.0428571428571 | \n", "1 | \n", "
With Or Without You - U2 | \n", "Hold Me_ Thrill Me_ Kiss Me_ Kill Me - U2 ... | \n",
" 0.033734939759 | \n", "2 | \n", "
With Or Without You - U2 | \n", "Window In The Skies - U2 | \n", "0.0328358208955 | \n", "3 | \n", "
With Or Without You - U2 | \n", "Vertigo - U2 | \n", "0.0300751879699 | \n", "4 | \n", "
With Or Without You - U2 | \n", "Sunday Bloody Sunday - U2 | \n", "0.0271317829457 | \n", "5 | \n", "
With Or Without You - U2 | \n", "Bad - U2 | \n", "0.0251798561151 | \n", "6 | \n", "
With Or Without You - U2 | \n", "A Day Without Me - U2 | \n", "0.0237154150198 | \n", "7 | \n", "
With Or Without You - U2 | \n", "Another Time Another Place - U2 ... | \n",
" 0.020325203252 | \n", "8 | \n", "
With Or Without You - U2 | \n", "Walk On - U2 | \n", "0.020202020202 | \n", "9 | \n", "
With Or Without You - U2 | \n", "Get On Your Boots - U2 | \n", "0.0196850393701 | \n", "10 | \n", "
song | \n", "similar | \n", "score | \n", "rank | \n", "
---|---|---|---|
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Murmullo - Buena Vista Social Club ... | \n",
" 0.188118811881 | \n", "1 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" La Bayamesa - Buena Vista Social Club ... | \n",
" 0.187192118227 | \n", "2 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Amor de Loca Juventud - Buena Vista Social Club ... | \n",
" 0.184834123223 | \n", "3 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Diferente - Gotan Project | \n", "0.0214592274678 | \n", "4 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Mistica - Orishas | \n", "0.0205761316872 | \n", "5 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Hotel California - Gipsy Kings ... | \n",
" 0.019305019305 | \n", "6 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Nací Orishas - Orishas | \n", "0.0191570881226 | \n", "7 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Le Moulin - Yann Tiersen | \n", "0.0187969924812 | \n", "8 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Gitana - Willie Colon | \n", "0.0187969924812 | \n", "9 | \n", "
Chan Chan (Live) - Buena Vista Social Club ... | \n",
" Criminal - Gotan Project | \n", "0.018779342723 | \n", "10 | \n", "